﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;

namespace dasBlog.Storage
{
    [DataContract()]
    public class LogEntry : IEntry<LogEntry>
    {
        [DataMember]
        public Moniker Id { get; set; }
        [DataMember]
        public string UrlRequested { get; set; }
        [DataMember]
        public string UserAgent { get; set; }
        [DataMember]
        public string UserDomain { get; set; }
        [DataMember]
        public DateTime RequestTime { get; set; }
        [DataMember]
        public string UserIP { get; set; }
        [DataMember]
        public string TrackingType { get; set; }
        [DataMember]
        public string Country { get; set; }
        [DataMember]
        public string Location { get; set; }
        [DataMember]
        public string TargetId { get; set; }
        [DataMember]
        public string TargetTitle { get; set; }
        [DataMember]
        public string ReferrerUrl { get; set; }
        [DataMember]
        public string ReferrerName { get; set; }
        [DataMember]
        public string ReferrerTitle { get; set; }

        public System.ServiceModel.Syndication.SyndicationItem ToSyndicationItem<Q>()
        {
            return new System.ServiceModel.Syndication.SyndicationItem(TrackingType, ReferrerUrl, new Uri(UrlRequested));
        }

        public bool IsAuthorized(System.IdentityModel.Claims.ClaimSet claim)
        {
            return true;
        }

        #region IExtensibleDataObject Members

        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
        {
            get;
            set;
        }

        #endregion
    }
}
